unit IUTamanhoProduto;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons;

type
  TFormIUTamanhoProduto = class(TForm)
    LabelCliente: TLabel;
    EditNome: TEdit;
    BitBtnOK: TBitBtn;
    BitBtn2: TBitBtn;
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtnOKClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    xId:integer;
  end;

var
  sql:string;
  FormIUTamanhoProduto: TFormIUTamanhoProduto;

implementation

uses Principal;

{$R *.dfm}

procedure TFormIUTamanhoProduto.BitBtn2Click(Sender: TObject);
begin
  self.Close;
end;

procedure TFormIUTamanhoProduto.BitBtnOKClick(Sender: TObject);
var xidTamanho:integer;
begin

    //se xId = 0 - insere

    if xId = 0 then
    begin

      //insere na tabela de tamanhos
      sql := 'insert into tamanho_produto (nm,nk) values (''' + EditNome.Text+ ''','''+EditNome.Text+''')';
      FormPrincipal.QueryAtualiza.SQL.Clear;
      FormPrincipal.QueryAtualiza.SQL.Add(sql);
      FormPrincipal.QueryAtualiza.Close;
      FormPrincipal.QueryAtualiza.ExecSQL;


      //pega o ultimo id inserido na tabela

      Sql := 'select LAST_INSERT_ID() as novo';

      FormPrincipal.QueryAux.SQL.Clear;
      FormPrincipal.QueryAux.SQL.Add(Sql);
      FormPrincipal.QueryAux.Close;
      FormPrincipal.QueryAux.Open;

      xidTamanho := FormPrincipal.QueryAux.FieldByName('novo').AsInteger;


      //pega as pizzas
      sql := 'select * from produto where id_familia = 1';

      FormPrincipal.QueryAux2.SQL.Clear;
      FormPrincipal.QueryAux2.SQL.Add(Sql);
      FormPrincipal.QueryAux2.Close;
      FormPrincipal.QueryAux2.Open;

      while not FormPrincipal.QueryAux2.Eof do
      begin

        //insere na tabela prod_tamanho_produto

        //delivery
        sql := 'insert into prod_tamanho_produto (id_produto,id_tamanho,vl_produto,id_tp_pedido,ativo)' +
               'values ('+FormPrincipal.QueryAux2.FieldByName('id').AsString +',' +
                          IntToStr(xidTamanho) + ',0,1,1)';


        FormPrincipal.QueryAtualiza.SQL.Clear;
        FormPrincipal.QueryAtualiza.SQL.Add(sql);
        FormPrincipal.QueryAtualiza.Close;
        FormPrincipal.QueryAtualiza.ExecSQL;


        //salao
        sql := 'insert into prod_tamanho_produto (id_produto,id_tamanho,vl_produto,id_tp_pedido,ativo)' +
               'values ('+FormPrincipal.QueryAux2.FieldByName('id').AsString +',' +
                          IntToStr(xidTamanho) + ',0,2,1)';


        FormPrincipal.QueryAtualiza.SQL.Clear;
        FormPrincipal.QueryAtualiza.SQL.Add(sql);
        FormPrincipal.QueryAtualiza.Close;
        FormPrincipal.QueryAtualiza.ExecSQL;




    
        FormPrincipal.QueryAux2.Next;
      end;

    end
    else
    begin

      sql := 'update tamanho_produto set nm = ''' + EditNome.Text + ''', nk = ''' + EditNome.Text + ''' where id = ' + IntToStr(Xid);
      FormPrincipal.QueryAtualiza.SQL.Clear;
      FormPrincipal.QueryAtualiza.SQL.Add(sql);
      FormPrincipal.QueryAtualiza.Close;
      FormPrincipal.QueryAtualiza.ExecSQL;



    end;




    MessageDlg('Tamanho Gravado',mtinformation, [mbOk], 0);

    self.Close;

end;

procedure TFormIUTamanhoProduto.FormActivate(Sender: TObject);
begin

  if xId <> 0 then
  begin
    sql := 'select * from tamanho_produto where id = '+IntToStr(xid);
    FormPrincipal.QueryAux.SQL.Clear;
    FormPrincipal.QueryAux.SQL.Add(Sql);
    FormPrincipal.QueryAux.Close;
    FormPrincipal.QueryAux.Open;


    if not FormPrincipal.QueryAux.Eof then
       EditNome.Text := FormPrincipal.QueryAux.FieldByName('nm').AsString;

  end;



end;

end.
